/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.aratuk.manager.pesquisar;

import br.com.aratuk.modelo.Jogo;
import br.com.aratuk.modelo.Loteria;
import br.com.aratuk.servico.JogoServico;
import br.com.aratuk.servico.LoteriaServico;
import br.com.aratuk.util.Mensagem;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;

/**
 *
 * @author roniere
 */
@ManagedBean
@ViewScoped
public class ManagerPesquisarJogo implements Serializable {

    @EJB
    private JogoServico jogoServico;
    @EJB
    private LoteriaServico loteriaServico;
    private Jogo jogo;
    private Loteria loteria;
    private List<Jogo> jogos;

    @PostConstruct
    private void init() {
        this.jogo = new Jogo();

        Map<String, String> parametros = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap();
        if (parametros.get("jogo") != null) {
            this.jogo = jogoServico.find(Long.parseLong(parametros.get("jogo")));
            System.err.println(jogo);
            this.loteria = this.jogo.getLoteria();
        }else{
            this.jogos = jogoServico.findAll();
        }
    }

    public Jogo getJogo() {
        return jogo;
    }

    public void setJogo(Jogo jogo) {
        this.jogo = jogo;
    }

    public Loteria getLoteria() {
        return loteria;
    }

    public void setLoteria(Loteria loteria) {
        this.loteria = loteria;
    }

    public List<Jogo> getJogos() {
        return jogos;
    }

    public void setJogos(List<Jogo> jogos) {
        this.jogos = jogos;
    }

    public void selectJogo(){
        Mensagem.redirect("visualizarjogo.xhtml?jogo="+jogo.getId());
    }
    
    public void salvar() {
        try {
            jogo.setLoteria(loteria);
            jogoServico.update(jogo);
            Mensagem.messagemInfoRedirect(Mensagem.SuccessFull, "visualizarjogo.xhtml?jogo=" + loteria.getId() + "&faces-redirect=true&includeViewParams=false");
        } catch (Exception e) {
            e.printStackTrace();
            Mensagem.messagemError();
        }
    }
    
    public void excluir(){
        try {
            jogo.setStatus(false);
            jogoServico.update(jogo);
            Mensagem.messagemInfoRedirect(Mensagem.SuccessFull, "indexjogos.xhtml");
        } catch (Exception e) {
            e.printStackTrace();
            Mensagem.messagemError();
        }
    }
}
